草庐IT

JavaScript if...Else 语句

全部标签

javascript - 为什么这些语句在 JavaScript 中的工作方式不同?

我最近正在检查使用XOR函数交换两个变量的小代码。我为此使用了JavaScript。令x和y为两个变量并令x=4,y=6。x=x^y;y=y^x;x=x^y;它很好地交换变量。请注意,我保持x和y不同,以防止由于第一个XOR而发生的别名。然后,根据声明,我写道:x=x^(y=y^(x=x^y));这正确地交换了变量y但使x始终为0。此外,x^=y^=x^=y;似乎也是等价表达式,会产生与第二种情况相同的错误结果。但是,所有这些语句在Java上都等效地运行并一致地产生相同的结果。我还在JavaScript中使用了严格模式。这三个语句在JavaScript上是否不等价,或者我在这里遗漏了一

javascript - 使用 babel-preset-env 将 polyfill 作为导入语句更好,还是将它们添加到 webpack.config.js 的条目中更好?

babel-preset-env提供选项useBuiltIns将其应用于babel-polyfill并将import'babel-polyfill'转换为特定的、基于环境的import'core-js/whatever.如果我在我的Webpack入口部分添加babel-polyfill(参见下面的示例),是否应用此转换,或者在那种情况下useBuiltIns被忽略并替换为所有可能的进口?entry:{app:['babel-polyfill','./src/app.js']} 最佳答案 它在您指定时起作用:"presets":[..

javascript - 函数构造函数与函数语句

今天I'vereadwehaveawayofdeclaringthefunctionbyFunctionconstructor.但我从未见过真正使用Function构造函数的实际实现。所以我想问一下,在什么情况下我们可以通过使用Function构造函数而不是使用function()声明来获益?以及它们之间隐藏的差异是什么?(如果有的话)函数构造器varfunc=newFunction("x","y","returnx*y;");//passthecontextbyString函数():varfunc=function(x,y){returnx*y;}谢谢 最

具有多个允许条件的 Javascript if 语句

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Javascript:TheprettiestwaytocompareonevalueagainstmultiplevaluesJavascriptIfstatementusedtocheckfileextensionsnotworking在JS中,我试图检查扩展名是否以“png”、“jpg”或“gif”结尾。我知道这可以通过switch语句来完成,但我想知道是否有更简单的方法将它全部放在if条件中。喜欢:if(aExtensions[i].toLowerCase()==('jpg'||'png'||'gif

Javascript 条件正则表达式 if-then-else

我试图将条目限制为特定格式。如果条目有5500或5100,例如01\01-5500-000-00那么我想要这个:^[0-9]{2,}\\[0-9]{2}\-[0-9]{4}\-[0-9]{3}\-$但是如果条目有5500或5100以外的任何东西,我想要这个:^[0-9]{2,}\\[0-9]{2}\-[0-9]{4}\-[0-9]{3}\-[0-9]{2}$如何使用ifthenelse想法来实现这一点? 最佳答案 JavaScript正则表达式引擎不支持条件正则表达式语法,但它可以通过包含2个替代项的非捕获组解决:具有积极的前瞻性和

javascript - 如何在 ES6 中将长导入语句分成多行?

我的JavaScript(ES6)文件中有一个很长的导入语句:import{A,B,C,D}from'../path/to/my/module/in/very/far/directory/'这样加新行可以吗?import{A,B,C,D}from'../path/to/my/module/in/very/far/directory'如果没有,是否有任何其他方式来编写干净的代码(保留我的代码在80列内)使用Babel以ES6语法导入语句? 最佳答案 这是我使用ESLint进行测试的结果。ESLINT通过importfsfrom'fs'

javascript - 如何缩短 jquery 语法 if-else 语句?

我经常使用这些:$text=$menu.jqmData('menu-text')?$menu.jqmData('menu-text'):self.options.menuTxt;它已经是“速记”语法,但我想知道是否有可能进一步减少上面的行。肯定有比检查$menu.jqmData('menu-text')然后重新编写整个内容更好的方法。不是吗?感谢您的帮助! 最佳答案 更短的方法是使用双管道。如果第一个值是falsy,它基本上使用第二个值。$text=$menu.jqmData('menu-text')||self.options.m

javascript - 如何在 JQuery When - Then 语句中循环 Ajax 请求?

我正在尝试从API异步加载一堆数据,当所有数据加载完毕后,我想触发一个事件以加载所有数据。我遇到的问题是我使用的API将响应对象的数量限制为五个。而且我可能需要检索30-40个响应对象。所以我想做的是创建一个when-then循环遍历数据项并请求每五个项目然后当所有项目都加载时我想触发一个加载事件的语句。我遇到的问题是when-then语句在ajax请求成功之前完成。进入我试过的代码。functionloadsLotsOfStats(stats,dataType,eventName,dataName,callback){vargroupedStats=[];while(stats.le

javascript - 如何在 jQuery/Javascript 中编写 switch 语句来测试元素是否具有特定类?

这是我使用的if-else语句的结构:$('.myclassa').click(function(){if($(this).hasClass('class1')){//dosomething}elseif($(this).hasClass('class2')){//dosomething}elseif($(this).hasClass('class3')){//dosomething}elseif($(this).hasClass('class4')){//dosomething}else{//dosomething}});已经有很多案例了,我认为使用switch语句会更整洁。我如何在

javascript - AngularJS if 语句与 ng-repeat

我在尝试将if与repeat语句一起使用时遇到问题。我正在取数据,如下:modules:Array[1]0:Objectembed:""type:"embed"1:Objectsrc:"https://m1.behance.net/rendition/modules/127899607/disp/072cebf2137c78359d66922ef9b96adb.jpg"type:"image"所以,如果模块有图像类型,我想获取图像。如果它有嵌入类型,我想获取iframe。我当前的View代码是:如果我去掉ng-if,效果会很好。控制台输出以下错误:Error:Multipledirec